Services provided by a computing system may include any type of functionality provided by the system and may be implemented at least in part by software applications of the system. A particular service may include a business functionality and be implemented by an application which includes business logic to perform the business functionality. One type of service is a report, which provides data based on selection criteria. Typically, a report is implemented by an application which receives the selection criteria from a user, and which retrieves the data from a database.
One problem with reports implemented by applications is that the implementing application, and thus the report that it implements, may become outdated in some aspect over time. Generally speaking, legacy applications exist which have become outdated in some aspect but which are still useful in some other aspect. For example, a legacy application may implement an existing report which still retrieves data in a desirable manner, but which has a user interface that has become outdated or undesirable. Furthermore, it may be difficult to separate the still-useful aspect of the existing report from the outdated aspect, as the portion of the legacy application which implements the still-useful aspect may be highly integrated with the portion which implements the outdated aspect. Often one cannot simply run the legacy application and only utilize the still-useful aspect of the existing report without also being undesirably presented with the outdated aspect. Moreover, it may be burdensome to completely redevelop the existing report in a new application because there are typically a prohibitively large number of existing reports which may need such redevelopment. Additionally, to redevelop the still-useful aspects of the existing report may be inefficient given the still-useful nature of these aspects.